home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 1 / Gold Medal Software Volume 1 (Gold Medal) (1994).iso / music / soundfx.arj / CDBEEP.DOC < prev    next >
Text File  |  1992-05-21  |  7KB  |  121 lines

  1.                ____________________________
  2.               |      CBEEP - DBEEP        |
  3.               | Replace BEEP With a Flash! |
  4.               |____________________________|
  5.  
  6.                 I.    Installation and Use
  7.  
  8.     The primary programs in this package are CBEEP.COM and DBEEP.COM.
  9.     They  will usually be referred to without their  .COM  extensions
  10.     for  convenience.  DBEEP is first used to produce a  new  renamed
  11.     version  of any program which has the beep replaced by    a  flash.
  12.     Then  CBEEP is loaded into the computer's memory.  CBEEP  is  the
  13.     program which actually makes the flash when called upon to do  so
  14.     by  the  debeeped program.  Finally the debeeped version  of  the
  15.     program  is loaded and run.  After some initial preparation,  the
  16.     use  of the debeeped version of a program can be made  completely
  17.     automatic and transparent to the user.
  18.  
  19.               DBEEP
  20.  
  21.     This  will start execution of the debeeping program.  DBEEP  will
  22.     display  a  menu  where <F1> may be pressed  to  display  a  help
  23.     screen,  <F2> may be pressed to start the debeeping process,  and
  24.     <F3>  may be pressed to install CBEEP in the computer.    For  now,
  25.     let's wait a bit before installing CBEEP and go on to create  the
  26.     debeeped  version  of the program.  Press <F2> and  you  will  be
  27.     prompted to enter the name of the program to be debeeped.  In our
  28.     example,  the program was NOISY.EXE in subdirectory  PROGRAMS  on
  29.     Drive C:, so enter
  30.  
  31.           C:\PROGRAMS\NOISY.EXE
  32.  
  33.           You will be prompted for the name of the
  34.     new  (debeeped) version of the program which you want to  create.
  35.            It is very important to use the same extension
  36.     but the name should be different from the original name.  In  our
  37.     case  we might select the name NOTNOISY.EXE as our  new  program.
  38.     After  you  enter  the new program name,  DBEEP  will  begin  the
  39.     debeeping  process. You will see from the display on  the  screen
  40.     that the process has begun and the display will indicate when the
  41.     debeeping  process  has finished; this may take a minute  or  so.
  42.     After DBEEP has finished, you may  press <F3> to "launch"  CBEEP.
  43.     This places into the computer's memory the program which produces
  44.     the  flash when called upon to do so by the debeeped  version  of
  45.     the  program.  As part of the process of installing or    launching
  46.     CBEEP,    the  CBEEP  menu  will    be  displayed  which  will  allow
  47.     selecting  the size and duration of the flash.    Press the  number
  48.     keys  as  indicated to select your  preferred  choice.     Finally,
  49.     after completing the creation of the debeeped program (which  you
  50.     have  given  a new name) and installing CBEEP, you are    ready  to
  51.     exit from DBEEP which may be done by pressing the <Esc> key.  You
  52.     will now be back at the DOS prompt and may run your new  debeeped
  53.     version of the program by entering its new name.  In our example,
  54.     merely enter NOTNOISY.    That's all there is to it.
  55.  
  56.     In  some cases, you may see the message "NO BEEPERS  FOUND"  even
  57.     though you know that the program produces beeps.  In most  cases,
  58.     this  will  not cause a problem and the beeps  will  properly  be
  59.     intercepted  and  replaced by flashes.    A further  discussion  of
  60.     this will be found in the section for Advanced Topics.
  61.            A shortcut which can be used if you  remember  the
  62.     number    of  the menu item you used to select the flash    size  and
  63.     duration is to skip the use of DBEEP and just enter CBEEP /n from
  64.     the  DOS  command  line, where for "n" you enter  the  menu  item
  65.     selection.   For example, to get a large, 1/2 sec.  flash,  enter
  66.     CBEEP /2.
  67.  
  68.     CBEEP.COM is a terminate-and-stay-resident (TSR) program which is
  69.     called by the debeeped program.  DBEEP.COM searches the  original
  70.     user's    program and replaces all code which generates beeps  with
  71.     code  which generates a software interrupt.   Normally    interrupt
  72.     60H  is  used,    but  CHGINT.COM may be    used  to  select  another
  73.     interrupt if 60H causes interference with other users of the same
  74.     interrupt. CBEEP, DBEEP, and CHGINT should be placed in the  same
  75.     subdirectory, and CHGINT run.  That will display a menu  allowing
  76.     selection  of an alternate interrupt number in the range  60H  to
  77.     66H.  You should be very careful about using interrupt 67H as  it
  78.     is used for LIM EMS (an Expanded Memory manager) in all  versions
  79.     of  DOS beginning with DOS 2.0 although only officially  reserved
  80.     by DOS in DOS 4.0 and above.
  81.  
  82.     Beeps can be generated in several ways.  The best-behaved  method
  83.     is to use DOS' BIOS services to send a BEL (character code 7)  to
  84.     the  screen.  An alternate method is directly to  manipulate  the
  85.     hardware  which controls the speaker.  This is done by using  the
  86.  
  87.     OUT  instruction to change the two low order bits of port 61H  to
  88.     turn  the  speaker on and off.    DBEEP looks for  the  code  which
  89.     generates  such  instructions  and replaces it    with  a  software
  90.     interrupt (using either the default interrupt number of 60H or an
  91.     alternate  interrupt  number  selected via  CHGINT),  padding  as
  92.     needed    with NOPs. A reasonableness check of surrounding data  is
  93.     made  in order to distinguish code from data prior  to    replacing
  94.     the  beep codes.  This technique for handling direct port  writes
  95.     was suggested by Dave Fallen's SILENCER program code.
  96.  
  97.     In some cases the message "NO BEEPERS FOUND" is produced by DBEEP
  98.     even  though the code being debeeped is known to  produce  beeps.
  99.     This is generally caused by code which does not write directly to
  100.     hardware ports but merely uses DOS or BIOS services to produce    a
  101.     beep by sending the BEL character to the screen.  The  interrupts
  102.     used  by these services are trapped by CBEEP and thus  the  beeps
  103.     are  properly  converted  into flashes even  though  no  code  is
  104.     modified by DBEEP.  The message "NO BEEPERS FOUND" thus indicates
  105.     that  no  code    replacement was necessary rather  than    that  the
  106.     program being debeeped doesn't have any beep-producing code.
  107.  
  108.     There are a few known limitations to this procedure.   Compressed
  109.     executable  code will not generally allow the instructions to  be
  110.     properly identified.  If the compression technique which has been
  111.     used  is known, it may be possible to uncompress the code,  apply
  112.     the  debeeping    program  to the uncompressed  version,    and  then
  113.     recompress  the  debeeped version.  Microsoft  Windows    code  may
  114.     cause  problems.   Programs  which have been  compressed  can  be
  115.     identified  (along  with the compression technique used)  by  the
  116.     utility   CHK4COMP.EXE.   Many    commercial  programs  have   been
  117.     compressed by Microsoft's EXEPACK; these may be unpacked by using
  118.     UPACKEXE.EXE.    As  of this writing, CHK4COMP could  be  obtained
  119.     from  CompuServe IBMSYS in CKH4.ZIP; UPACKEXE was also    available
  120.     from CompuServe IBMSYS in LZEX91.ZIP.
  121.